#ifndef ITEM_H
#define ITEM_H
/**********************************************
 ** Purpose: An abstract class which generates
 ** new items for the derived classes. Each
 ** item will have a name, type, and passive
 ** or active feature.
 **********************************************/
#include <string.h>

class cItem
{
	public:
		//Constructor
		cItem(char *itemName = NULL, int itemType = -1);

		//Destructor
		~cItem();

		//Accessors and Mutators
		void	changeName(char *newName);
		void	changeType(int type);
		void	changeActive(bool bHasActive);
		void	changePassive(bool bHasPassive);

		char*	retrieveName();
		int		retrieveType();
		bool	hasActiveAbility();
		bool	hasPassiveAbility();

	protected:

		//Specifies the name of the item
		char		m_itemName[20];

		//Specifies the type of the item
		int			m_itemType;

		//Specifies whether the item has passive or active traits
		bool		m_bHasActive;
		bool		m_bHasPassive;
};

#endif